This invention relates to a system for loading executable code to volatile memory in a downhole tool, specifically to downhole tools that are part of a downhole tool string. Software for downhole tools on a downhole tool string need to be programmed for numerous conditions. New software may require constant updates to fix errors that result from unforeseen conditions for which the software was not designed. U.S. Pat. No. 6,670,880, which is herein incorporated by reference, discloses a system for transmitting data through a string of downhole components. In one aspect of the invention in the '880 patent, the system includes first and second magnetically-conductive electrically-insulating elements at both ends of the components. Each element includes a U-shaped trough with a bottom, first and second sides and an opening between the two sides. Electrically conducting coils are located in each trough. An electrical conductor connects the coils in each component. This architecture allows transmission of a signal through the string of downhole components and connects downhole tools to equipment located on the surface. The tools located in the bottom hole assembly and tools located along the string of downhole components require executable code to perform their operations.
Errors in the executable code of downhole tools complicate the operations of the on-site crew. Errors in the executable code may require portions of the executable code to be rewritten. Often removing the entire downhole tool string is required to access the executable code, which is costly and time consuming. It is not uncommon for a drill string to be 20,000 feet long. Further complicating the matter is the cost associated with the processors for downhole tools. Due to the extreme conditions downhole, high temperature processors are required for the downhole tools. The transmission system disclosed in the '880 patent is capable of operating many tools at once due to its high speed ability. The combined cost of all of the processors in the downhole tools may add to several million dollars, which increases if errors in the executable code require replacements.
Attempts at resolving the problems associated with software failures and errors in downhole tools are recognized in the industry. Designing redundant systems with back up processors is one approach. U.S. Pat. No. 4,815,076 discloses a machine implemented process for advisement on several alternatives for recovering from a single or multiple component failures in a distributed process well-site instrumentation logging system. In this process, when a critical part of the downhole system has failed, the role of a failed processor may be shifted to another processor and the software failure may be overcome.
U.S. Pat. No. 6,061,633 proposes a sonde that includes signal processing means according to a predetermined signal processing program, first memory means for storing that signal processing program, and second memory means storing a writing program for writing the signal processing program in the first memory means. The sonde's software may be written at the surface, sent over a cable to the sonde, and rebooted from the surface. To avoid removing the sonde every time an error is discovered in the system, the rewritten software is written in electrically erasable programmable read only memory (EEPROM). Due to the limitations of EEPROM, the sonde keeps track of the number of times that the sonde is reprogrammed and after a determined number of reprogrammings, the sonde is retrieved and the EEPROM is replaced. This system reduces the number of times that a downhole tool's software needs to be replaced, but there is still a significant amount of non-volatile memory downhole.